<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Data Structures for Sets and Graphs: BitMapsGraph&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Data Structures for Sets and Graphs
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">BitMapsGraph&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="Graph_8h_source.html">Graph.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for BitMapsGraph&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classBitMapsGraph__inherit__graph.png" border="0" usemap="#BitMapsGraph_3_01T_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="BitMapsGraph_3_01T_01_4_inherit__map" id="BitMapsGraph_3_01T_01_4_inherit__map">
<area shape="rect" id="node2" href="classGraph.html" title="Graph\&lt; T \&gt;" alt="" coords="29,83,117,112"/><area shape="rect" id="node4" href="classDiGraph.html" title="DiGraph\&lt; T \&gt;" alt="" coords="23,5,124,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for BitMapsGraph&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classBitMapsGraph__coll__graph.png" border="0" usemap="#BitMapsGraph_3_01T_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="BitMapsGraph_3_01T_01_4_coll__map" id="BitMapsGraph_3_01T_01_4_coll__map">
<area shape="rect" id="node2" href="classGraph.html" title="Graph\&lt; T \&gt;" alt="" coords="29,83,117,112"/><area shape="rect" id="node4" href="classDiGraph.html" title="DiGraph\&lt; T \&gt;" alt="" coords="23,5,124,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classBitMapsGraph-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8593a9905142dd840900e5028d992706"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a8593a9905142dd840900e5028d992706">BitMapsGraph</a> (T *set)</td></tr>
<tr class="memitem:a1ca47790b427c243a9970b87355e79ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a1ca47790b427c243a9970b87355e79ea">BitMapsGraph</a> (long <a class="el" href="classDiGraph.html#a96f68a636f97b7144bd329c76ee51122">n</a>, <a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *<a class="el" href="classBitMapsGraph.html#a569a5bb57d1eee6fbff7004536dfe0d1">factory</a>)</td></tr>
<tr class="memitem:a6cb6e3e665459f5cd7b5384844e317a9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a6cb6e3e665459f5cd7b5384844e317a9">BitMapsGraph</a> (long <a class="el" href="classDiGraph.html#a96f68a636f97b7144bd329c76ee51122">n</a>, <a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *<a class="el" href="classBitMapsGraph.html#a569a5bb57d1eee6fbff7004536dfe0d1">factory</a>, void *handle)</td></tr>
<tr class="memitem:ae469fe859ae3ca91ff2fcab18b3744b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ae469fe859ae3ca91ff2fcab18b3744b2">BitMapsGraph</a> (long <a class="el" href="classDiGraph.html#a96f68a636f97b7144bd329c76ee51122">n</a>, <a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *<a class="el" href="classBitMapsGraph.html#a569a5bb57d1eee6fbff7004536dfe0d1">factory</a>, void **handle)</td></tr>
<tr class="memitem:a85623f92cd881b813487e7af31b98ed7"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a85623f92cd881b813487e7af31b98ed7">~BitMapsGraph</a> ()</td></tr>
<tr class="memitem:a6ced3297cea56a041748f46fda401017"><td class="memItemLeft" align="right" valign="top">virtual const T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a6ced3297cea56a041748f46fda401017">neig</a> (long i) const </td></tr>
<tr class="memdesc:a6ced3297cea56a041748f46fda401017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the neighborhood of a specified vertex as an unmodifiable <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a>.  <a href="#a6ced3297cea56a041748f46fda401017"></a><br/></td></tr>
<tr class="memitem:afd403f8f485420ed94b27185b9fb56e9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classDiGraph.html">DiGraph</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#afd403f8f485420ed94b27185b9fb56e9">clone</a> () const </td></tr>
<tr class="memdesc:afd403f8f485420ed94b27185b9fb56e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a clone of the current graph.  <a href="#afd403f8f485420ed94b27185b9fb56e9"></a><br/></td></tr>
<tr class="memitem:a519a67a3969ea68fdeb00dc617fd70ca"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a519a67a3969ea68fdeb00dc617fd70ca">nedges</a> ()</td></tr>
<tr class="memitem:a758804ca09b01ed02162a37d2eb93569"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a758804ca09b01ed02162a37d2eb93569">addEdge</a> (long i, long j)</td></tr>
<tr class="memdesc:a758804ca09b01ed02162a37d2eb93569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an edge between the two specified vertices (optional operation).  <a href="#a758804ca09b01ed02162a37d2eb93569"></a><br/></td></tr>
<tr class="memitem:ae07bf761cd2bbe81f6625ac28ae243f9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ae07bf761cd2bbe81f6625ac28ae243f9">delEdge</a> (long i, long j)</td></tr>
<tr class="memdesc:ae07bf761cd2bbe81f6625ac28ae243f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the edge defined by the two specified vertices (optional operation).  <a href="#ae07bf761cd2bbe81f6625ac28ae243f9"></a><br/></td></tr>
<tr class="memitem:ae3e177fc813c7dd386bf6ff6ebcc6434"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ae3e177fc813c7dd386bf6ff6ebcc6434">flipEdge</a> (long i, long j)</td></tr>
<tr class="memdesc:ae3e177fc813c7dd386bf6ff6ebcc6434"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the edge represented by the specified ordered pair (optional operation).  <a href="#ae3e177fc813c7dd386bf6ff6ebcc6434"></a><br/></td></tr>
<tr class="memitem:ac27ea0fd1c32a724bce7b7575a1fb068"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ac27ea0fd1c32a724bce7b7575a1fb068">addAllEdges</a> ()</td></tr>
<tr class="memdesc:ac27ea0fd1c32a724bce7b7575a1fb068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds all possible edges (optional operation).  <a href="#ac27ea0fd1c32a724bce7b7575a1fb068"></a><br/></td></tr>
<tr class="memitem:af76b4fc534152fc0d2862153ccb76a76"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#af76b4fc534152fc0d2862153ccb76a76">delAllEdges</a> ()</td></tr>
<tr class="memdesc:af76b4fc534152fc0d2862153ccb76a76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all possible edges (optional operation).  <a href="#af76b4fc534152fc0d2862153ccb76a76"></a><br/></td></tr>
<tr class="memitem:ad047e77073345f44b2f5f7327c1bb5ca"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ad047e77073345f44b2f5f7327c1bb5ca">hasEdge</a> (long i, long j) const </td></tr>
<tr class="memdesc:ad047e77073345f44b2f5f7327c1bb5ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries for an edge.  <a href="#ad047e77073345f44b2f5f7327c1bb5ca"></a><br/></td></tr>
<tr class="memitem:a5dfaef1d7733c6a6dc5dd323aad9ddb8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a5dfaef1d7733c6a6dc5dd323aad9ddb8">joinAdj</a> (long i, long j)</td></tr>
<tr class="memdesc:a5dfaef1d7733c6a6dc5dd323aad9ddb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joins the neighborhood of two specified vertices (optional operation).  <a href="#a5dfaef1d7733c6a6dc5dd323aad9ddb8"></a><br/></td></tr>
<tr class="memitem:a210358944c413934020687c4c20b8a80"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a210358944c413934020687c4c20b8a80">commonAdj</a> (long i, long j)</td></tr>
<tr class="memdesc:a210358944c413934020687c4c20b8a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the common neighborhood of specified vertices (optional operation)  <a href="#a210358944c413934020687c4c20b8a80"></a><br/></td></tr>
<tr class="memitem:ae762e6472ff1d7025858acfda770407e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ae762e6472ff1d7025858acfda770407e">diffAdj</a> (long i, long j)</td></tr>
<tr class="memdesc:ae762e6472ff1d7025858acfda770407e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes from the neighborhood of one specified vertex the neighbors of a second specified vertex (optional operation)  <a href="#ae762e6472ff1d7025858acfda770407e"></a><br/></td></tr>
<tr class="memitem:aba76fdc92a17e448e2df54a784fd0ef0"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#aba76fdc92a17e448e2df54a784fd0ef0">countnedges</a> ()</td></tr>
<tr class="memdesc:aba76fdc92a17e448e2df54a784fd0ef0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the number of edges.  <a href="#aba76fdc92a17e448e2df54a784fd0ef0"></a><br/></td></tr>
<tr class="memitem:aaacbd6e71eb3a831c85941fde733a7b1"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#aaacbd6e71eb3a831c85941fde733a7b1">degree</a> (long i) const </td></tr>
<tr class="memdesc:aaacbd6e71eb3a831c85941fde733a7b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of neighbors of a specified vertex.  <a href="#aaacbd6e71eb3a831c85941fde733a7b1"></a><br/></td></tr>
<tr class="memitem:a39bdb364484e5f7d7c4b08ec0a0a9cec"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a39bdb364484e5f7d7c4b08ec0a0a9cec">antiDegree</a> (long i) const </td></tr>
<tr class="memdesc:a39bdb364484e5f7d7c4b08ec0a0a9cec"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of anti-neighbors of a specified vertex.  <a href="#a39bdb364484e5f7d7c4b08ec0a0a9cec"></a><br/></td></tr>
<tr class="memitem:a8308462bdb32c5007930af4a350735d6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classDiGraph.html">DiGraph</a>&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a8308462bdb32c5007930af4a350735d6">square</a> () const </td></tr>
<tr class="memdesc:a8308462bdb32c5007930af4a350735d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the square of the current graph.  <a href="#a8308462bdb32c5007930af4a350735d6"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a569a5bb57d1eee6fbff7004536dfe0d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#a569a5bb57d1eee6fbff7004536dfe0d1">factory</a></td></tr>
<tr class="memitem:ab6c15b269fb996d001857cd7354138f2"><td class="memItemLeft" align="right" valign="top">T **const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapsGraph.html#ab6c15b269fb996d001857cd7354138f2">adj</a></td></tr>
<tr class="memdesc:ab6c15b269fb996d001857cd7354138f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The adjacent matrix of the graph.  <a href="#ab6c15b269fb996d001857cd7354138f2"></a><br/></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8593a9905142dd840900e5028d992706"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::<a class="el" href="classBitMapsGraph.html">BitMapsGraph</a> </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1ca47790b427c243a9970b87355e79ea"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::<a class="el" href="classBitMapsGraph.html">BitMapsGraph</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>factory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6cb6e3e665459f5cd7b5384844e317a9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::<a class="el" href="classBitMapsGraph.html">BitMapsGraph</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>factory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae469fe859ae3ca91ff2fcab18b3744b2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::<a class="el" href="classBitMapsGraph.html">BitMapsGraph</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classFactory.html">Factory</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>factory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a85623f92cd881b813487e7af31b98ed7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::~<a class="el" href="classBitMapsGraph.html">BitMapsGraph</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac27ea0fd1c32a724bce7b7575a1fb068"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::addAllEdges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds all possible edges (optional operation). </p>
<p>A further call to hasEdge(i, j), for any pair <code>i</code> and <code>j</code> of vertices, returns <code>true</code> unless <a class="el" href="classBitMapsGraph.html#ae07bf761cd2bbe81f6625ac28ae243f9" title="Deletes the edge defined by the two specified vertices (optional operation).">delEdge()</a> or <a class="el" href="classBitMapsGraph.html#af76b4fc534152fc0d2862153ccb76a76" title="Removes all possible edges (optional operation).">delAllEdges()</a> is invoked to delete the edge involved in the query.</p>
<p>It transforms the graph in a complete graph. </p>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a1e321ab267657ef4222b7b2954492e63">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a758804ca09b01ed02162a37d2eb93569"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::addEdge </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds an edge between the two specified vertices (optional operation). </p>
<p>Adds one specified vertex to the neighborhood of the other. A further call to hasEdge(firstVertex, secondVertex) or hasEdge(secondVertex, firstVertex)returns <code>true</code> unless <a class="el" href="classBitMapsGraph.html#ae07bf761cd2bbe81f6625ac28ae243f9" title="Deletes the edge defined by the two specified vertices (optional operation).">delEdge()</a> or <a class="el" href="classBitMapsGraph.html#af76b4fc534152fc0d2862153ccb76a76" title="Removes all possible edges (optional operation).">delAllEdges()</a> is invoked to delete the edge defined by the specified vertices.</p>
<p>If one of the specified elements is out of the universe an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first vertex </td></tr>
    <tr><td class="paramname">j</td><td>the second vertex </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classGraph.html#a60727c0e122156a7f70019795a6aade3">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a39bdb364484e5f7d7c4b08ec0a0a9cec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::antiDegree </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The number of anti-neighbors of a specified vertex. </p>
<p>Count the number of anti-neighbors of a specified vertex. A vertex <code>j</code> is a neighbor of the specified vertex if <code>hasEdge</code>(i, <code>j</code>) returns <code>false</code>. It is implemented using the function <a class="el" href="classDirectlyAddressedSet.html#a86fbb2d9a8fc212f513d0ded3bee67dc" title="The cardinality of the complement of the set represented by the object.">DirectlyAddressedSet::cardOfCompl()</a>.</p>
<p>If the element is out of the universe, an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the specified vertex.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the number of anti-neighbors of the specified vertex. </dd></dl>

<p>Reimplemented from <a class="el" href="classDiGraph.html#aeb13a150a187caa0b77c347fbf14cd67">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="afd403f8f485420ed94b27185b9fb56e9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDiGraph.html">DiGraph</a>&lt; T &gt; * <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a clone of the current graph. </p>
<p>Create a clone of the current graph, with the same number of edges, the same vertex set and the same edges. It is implemented using the method clone to each line of the adjacency matrix.</p>
<dl class="section return"><dt>Returns:</dt><dd>a copy of the current graph. </dd></dl>

<p>Implements <a class="el" href="classDiGraph.html#aa78af5801fd24c325ce2d7058a7aca59">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a210358944c413934020687c4c20b8a80"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::commonAdj </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculates the common neighborhood of specified vertices (optional operation) </p>
<p>Retains in the neigbourhood of the first element the neighbors of the second vertex only. It is implemented using the method <a class="el" href="classDirectlyAddressedSet.html#a722dd648d9caa8449f26741f53b85ba2" title="Intersection of the current set and a specified set (optional operation)">DirectlyAddressedSet::retainAll()</a>.</p>
<p>If one of the elements is out of the universe, an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first specified element. </td></tr>
    <tr><td class="paramname">j</td><td>the second specified element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the resulting <code>i's</code> neighborhood</dd></dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classDirectlyAddressedSet.html#a722dd648d9caa8449f26741f53b85ba2" title="Intersection of the current set and a specified set (optional operation)">DirectlyAddressedSet::retainAll()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classGraph.html#ad8f1be542121d900ce4a6714fc4790c7">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aba76fdc92a17e448e2df54a784fd0ef0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::countnedges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Computes the number of edges. </p>
<p>Returns the cardinality of the edge set. It is implemented by a call to <a class="el" href="classDirectlyAddressedSet.html#a3340fde7ad523ac0c3e121b898be1e3c" title="The cardinality of the set represented by the object.">DirectlyAddressedSet::cardOfSet()</a> in each line of the adjacency matrix and summing up the results.</p>
<dl class="section return"><dt>Returns:</dt><dd>the number of edges </dd></dl>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a374ae8d5e5503c00279089718b500bf5">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aaacbd6e71eb3a831c85941fde733a7b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::degree </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The number of neighbors of a specified vertex. </p>
<p>Count the number of neighbors of a specified vertex. A vertex <code>j</code> is a neighbor of the specified vertex if <code>hasEdge</code>(i, <code>j</code>) returns <code>true</code>. It is implemented using the function <a class="el" href="classDirectlyAddressedSet.html#a3340fde7ad523ac0c3e121b898be1e3c" title="The cardinality of the set represented by the object.">DirectlyAddressedSet::cardOfSet()</a>.</p>
<p>If the element is out of the universe, an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the specified vertex.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the number of neighbors of the specified vertex. </dd></dl>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a33d282c4d5da07f660628b9672c1f67d">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af76b4fc534152fc0d2862153ccb76a76"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::delAllEdges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes all possible edges (optional operation). </p>
<p>A further call to hasEdge(i, j), for any pair <code>i</code> and <code>j</code> of vertices, returns <code>false</code> unless <a class="el" href="classBitMapsGraph.html#a758804ca09b01ed02162a37d2eb93569" title="Adds an edge between the two specified vertices (optional operation).">addEdge()</a> or <a class="el" href="classBitMapsGraph.html#ac27ea0fd1c32a724bce7b7575a1fb068" title="Adds all possible edges (optional operation).">addAllEdges()</a> is invoked to add the edge involved in the query.</p>
<p>It transforms the graph in a empty graph. </p>

<p>Reimplemented from <a class="el" href="classDiGraph.html#adcf0b5b7a5745610dd50206672aec471">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ae07bf761cd2bbe81f6625ac28ae243f9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::delEdge </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deletes the edge defined by the two specified vertices (optional operation). </p>
<p>Deletes one specified vertex from the neighborhood of the other. A further call to hasEdge(firstVertex, secondVertex) or hasEdge(secondVertex, firstVertex) returns <code>false</code> unless <a class="el" href="classBitMapsGraph.html#a758804ca09b01ed02162a37d2eb93569" title="Adds an edge between the two specified vertices (optional operation).">addEdge()</a> or <a class="el" href="classBitMapsGraph.html#ac27ea0fd1c32a724bce7b7575a1fb068" title="Adds all possible edges (optional operation).">addAllEdges()</a> is invoked to add the edge defined by the specified vertices.</p>
<p>If one of the specified elements is out of the universe an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first vertex </td></tr>
    <tr><td class="paramname">j</td><td>the second vertex </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classGraph.html#aec1d47825b39b88d7368330cd1e12497">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ae762e6472ff1d7025858acfda770407e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::diffAdj </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes from the neighborhood of one specified vertex the neighbors of a second specified vertex (optional operation) </p>
<p>Removes all the neighbors of the second specified element to the neighborhood of the first specified vertex. It is implemented using the method <a class="el" href="classDirectlyAddressedSet.html#af45e06fe443a71cb91635ddd397ec35f" title="Difference of the current set and a specified set (optional operation)">DirectlyAddressedSet::removeAll()</a>. The result overwrite the neighborhood of the first element.</p>
<p>If one of the elements is out of the universe, an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first specified element. </td></tr>
    <tr><td class="paramname">j</td><td>the second specified element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the resulting <code>i's</code> neighborhood</dd></dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classDirectlyAddressedSet.html#af45e06fe443a71cb91635ddd397ec35f" title="Difference of the current set and a specified set (optional operation)">DirectlyAddressedSet::removeAll()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classGraph.html#a44bb6e4984060e2ec712521973916bfa">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ae3e177fc813c7dd386bf6ff6ebcc6434"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::flipEdge </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Swap the edge represented by the specified ordered pair (optional operation). </p>
<p>If the edge represented by the specified ordered pair is in the graph, it will be removed if not it will be added.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>first vertex </td></tr>
    <tr><td class="paramname">j</td><td>second vertex </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classGraph.html#a33bc7b325cc386e33577873f22cae843">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad047e77073345f44b2f5f7327c1bb5ca"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::hasEdge </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Queries for an edge. </p>
<p>If one of the specified vertices is out of the universe an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first vertex </td></tr>
    <tr><td class="paramname">j</td><td>the second vertex</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><code>true</code> if the edge defined by <code>i</code> and <code>j</code>, in this order, is in the edge set, otherwise returns <code>false</code>. </dd></dl>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a37a974d4f6e7804c86feaf75a9837adb">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a5dfaef1d7733c6a6dc5dd323aad9ddb8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::joinAdj </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Joins the neighborhood of two specified vertices (optional operation). </p>
<p>Adds all the neighbors of the second specified element to the neighborhood of the first specified vertex. It is implemented using the method <a class="el" href="classDirectlyAddressedSet.html#ace4dc1b4e41e18d0c7cef3fa17c64dc5" title="Union of the current set and a specified set (optional operation).">DirectlyAddressedSet::addAll()</a>. The result overwrite the neigbourhood of the first element.</p>
<p>If one of the elements is out of the universe, an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the first specified element. </td></tr>
    <tr><td class="paramname">j</td><td>the second specified element.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the resulting <code>i's</code> neighborhood</dd></dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classDirectlyAddressedSet.html#ace4dc1b4e41e18d0c7cef3fa17c64dc5" title="Union of the current set and a specified set (optional operation).">DirectlyAddressedSet::addAll()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classGraph.html#aa48d8578b691867f2f9ea9a06f0379d4">Graph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a519a67a3969ea68fdeb00dc617fd70ca"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual long <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::nedges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6ced3297cea56a041748f46fda401017"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T * <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::neig </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the neighborhood of a specified vertex as an unmodifiable <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a>. </p>
<p>This graph is backed by the returned set.</p>
<p>If the specified element is out of the universe an error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>the specified vertex.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>neighborhood of a specified vertex as a <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a>. </dd></dl>

<p>Implements <a class="el" href="classDiGraph.html#a9abb77919af689dc43cb36ee5222786e">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a8308462bdb32c5007930af4a350735d6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDiGraph.html">DiGraph</a>&lt; T &gt; * <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::square </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the square of the current graph. </p>
<p>The square of a graph <code>G</code> is a graph with the same set of vertex and all the edges in the egdes of <code>G</code> and the edges <code>uv</code> such that exists in <code>G</code> the edges <code>uw</code> and <code>vw</code> for some vertex <code>w</code> in the vertex set.</p>
<dl class="section return"><dt>Returns:</dt><dd>the square graph of the current graph. </dd></dl>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a63d6b74cf76002cefe0cfe4a342cb5a1">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ab6c15b269fb996d001857cd7354138f2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T** const <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::adj</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The adjacent matrix of the graph. </p>

<p>Reimplemented from <a class="el" href="classDiGraph.html#a23cd28b2e17258697a7575fd60d94da9">DiGraph&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a569a5bb57d1eee6fbff7004536dfe0d1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFactory.html">Factory</a>&lt;T&gt;* const <a class="el" href="classBitMapsGraph.html">BitMapsGraph</a>&lt; T &gt;::factory</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>graphs/<a class="el" href="Graph_8h_source.html">Graph.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 26 2012 17:06:46 for Data Structures for Sets and Graphs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>
